package com.bite.blog.config;

import com.bite.blog.model.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.resource.NoResourceFoundException;

@Slf4j
@ResponseBody
@ControllerAdvice
public class ExceptionHandle {  //统一异常处理
    @ExceptionHandler
    public Result handle(Exception e) {  //如果代码出现Exception异常(包括Exception的⼦类),就返回⼀个Result的对象
        log.error("发生异常,e:",e);
        return Result.fail("内部错误,请联系管理员");  //执行Result对象的fail方法
    }

    @ExceptionHandler
    public Result handle(NoResourceFoundException e) {  //对不同的异常信息进行不同的处理
        log.error("文件不存在:{}",e.getResourcePath());
        return Result.fail("内部错误,请联系管理员");  //执行Result对象的fail方法
    }
}
